package com.nineclock.system.service;

import com.nineclock.system.dto.SysAllowedJoinCompanyUserDTO;
import com.nineclock.system.dto.SysApplyJoinCompanyUserDTO;
import com.nineclock.system.dto.SysCompanyDTO;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

public interface SysCompanyService {
    /**
     * 根据用户ID获取关联的企业列表
     * @param userId
     * @return
     */
   List<SysCompanyDTO> queryUserJoinCompany(Long userId);
    /**
     * 查询当前登录用户的企业信息
     * @return
     */
    SysCompanyDTO queryCompanyInfo();
    /**
     * 接口名称：企业管理: 上传图片
     * 接口路径：POST/sys/company/uploadOSS
     * */
    String uploadCompanyLogo(MultipartFile file) throws IOException;
    /**
     * 接口名称： 更新当前企业的基本信息
     * 接口路径：PUT/sys/company
     */
    void updateCompanyInfo(SysCompanyDTO sysCompanyDTO);
    //更换管理员
    void changeSysAdmin(String code, Long userId);
 /**
  * @ApiOperation(value = "根据企业的关键字名称查询企业列表")
  * @GetMapping("/list")*/
    List<SysCompanyDTO> queryCompanyByName(String keyword);
    /**申请加入企业*/
    void applyJoinCompany(SysApplyJoinCompanyUserDTO sysApplyJoinCompanyUserDTO);

    /**
     * allowedJoinCompany
     * @param allowedJoinCompanyUserDTO
     */
    void allowedJoinCompany(SysAllowedJoinCompanyUserDTO allowedJoinCompanyUserDTO);
}
